﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using PhongMachTu.OModel;
using PhongMachTu.OConnection;
namespace PhongMachTu.OForm
{
    public partial class MainForm : Form
    {

        public MainForm()
        {
            InitializeComponent();
        }

        private void btnLogout_Click(object sender, EventArgs e)
        {
            OSession.logout();
            FormManager.loginForm.Show();
            FormManager.mainForm.Hide();
        }

        private void btnSetting_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                if (OSession.LoggedInUser.Type == 1)
                {
                    FormManager.mainForm.Hide();
                    FormManager.settingForm.refreshSettingValues();
                    FormManager.settingForm.Show();
                }
                else
                {
                    MessageBox.Show("Không đủ quyền truy cập chức năng");
                }
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnDiseaseManage_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                if (OSession.LoggedInUser.Type == 1)
                {
                    FormManager.mainForm.Hide();
                    FormManager.diseaseForm.refreshDsDisease();
                    FormManager.diseaseForm.Show();
                }
                else
                {
                    MessageBox.Show("Không đủ quyền truy cập chức năng");
                }
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnMedicineManage_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                if (OSession.LoggedInUser.Type == 1)
                {
                    FormManager.mainForm.Hide();
                    FormManager.medicineForm.refreshAll();
                    FormManager.medicineForm.Show();
                }
                else
                {
                    MessageBox.Show("Không đủ quyền truy cập chức năng");
                }
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnPatientList_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                FormManager.paInDayForm.Patients = DataManipulate.getPatientInDay();
                FormManager.paInDayForm.loadData();
                FormManager.paInDayForm.checkUser();
                FormManager.paInDayForm.checkUser();
                FormManager.mainForm.Hide();
                FormManager.paInDayForm.Show();
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnCreatePresciption_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                FormManager.prescriptionForm.Show();
                FormManager.prescriptionForm.loadData();
                FormManager.prescriptionForm.CurPaID = 0;
                FormManager.prescriptionForm.CloseID = 0;
                FormManager.prescriptionForm.refreshControl();
                FormManager.mainForm.Hide();
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnSearchPatient_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                FormManager.searchForm.Patients = null;
                FormManager.searchForm.CloseID = 0;
                FormManager.searchForm.refreshLV(1);
                FormManager.mainForm.Hide();
                FormManager.searchForm.Show();
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }

        private void btnSearchPaInfo_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                FormManager.searchPaInfoForm.Show();
                FormManager.mainForm.Hide();
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnRepMed_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                FormManager.medUseReportForm.Show();
                FormManager.mainForm.Hide();
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnReport_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                FormManager.monthlyReportForm.Show();
                FormManager.mainForm.Hide();
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnBill_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                FormManager.medBillForm.loadData();
                FormManager.medBillForm.Show();
                FormManager.mainForm.Hide();
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        private void btnPatient_Click(object sender, EventArgs e)
        {
            if (OSession.isLoggedIn())
            {
                FormManager.patientForm.Patients = DataManipulate.getAllPatient();
                FormManager.patientForm.loadData();
                FormManager.patientForm.Show();
                FormManager.mainForm.Hide();
            }
            else
            {
                FormManager.mainForm.Hide();
                FormManager.loginForm.Show();
                MessageBox.Show("Quá thời gian chờ cho phép, vui lòng đăng nhập lại");
            }
        }

        public void disPlayButtonForAccountant()
        {
            groupBox1.Visible = false;
            groupBox2.Visible = false;
            groupBox3.Visible = true;
        }

        public void disPlayButtonForReception()
        {
            groupBox1.Visible = false;
            groupBox2.Visible = true;
            groupBox3.Visible = false;
        }

        public void disPlayButtonForDoctor()
        {
            groupBox1.Visible = true;
            groupBox2.Visible = false;
            groupBox3.Visible = false;
        }

        private void btnUserManage_Click(object sender, EventArgs e)
        {
            FormManager.mainForm.Hide();
            FormManager.formUser.refreshListUser();
            FormManager.formUser.Show();
        }

        private void btnSettingForm_Click(object sender, EventArgs e)
        {
            FormManager.mainForm.Hide();
            FormManager.changePwdForm.Show();
        }

    }
}
